home *** CD-ROM | disk | FTP | other *** search
/ PC World 2005 December / PCWorld_2005-12_cd.bin / software / temacd / tiny / tpf-6[1].5.126.exe / Tiny Firewall 2005.msi / webui.dll / FIREWALL / FWN-EDIT-DIALOGS.JS next >
Encoding:
Text (UTF-16)  |  2005-08-17  |  9.2 KB  |  168 lines

  1. /*//////////////////////////////////////////////////////////////////////
  2. Filename:          fwn-edit-dialogs.js
  3. Company Name:      Computer Associates International, Inc.
  4. Legal Copyright: Copyright (c) Computer Associates International, Inc.
  5. Author:          Marek Matus (marek.matus@ca.com)
  6. Product:          Tiny Firewall
  7. Description:      functions for showing various dialogs
  8. ///////////////////////////////////////////////////////////////////////*/
  9.  
  10. function editFWRuleByID( strRuleID )
  11. {
  12.     var rule = FW_getRule( strRuleID, false, !isFWServerRuleID( strRuleID ));
  13.         
  14.     if ( !rule )
  15.     {
  16.         alert(getStr('','STR_EDIT_EVENT_DELETED'));
  17.         return;
  18.     }
  19.     
  20.     processMsgOKNotShow('event_edit_warning', getStr('','STR_EDIT_EVENT_WARNING'), getStr('','STR_EDIT_EVENT_NOT_SHOW_AGAIN'), getStr('','STR_EDIT_EVENT_WARNING_TITLE'));
  21.     
  22.     if ( isLDAPSupported() ) // fw pro and server os
  23.     {
  24.         if ( !rule.Preferred ) // normal rule
  25.         {
  26.             FWDlg( new Array(strRuleID, !isFWServerRuleID( strRuleID ), false) );
  27.         }
  28.         else // AD rules
  29.         {
  30.             //var bVPNMode = !isADIPAddress(rule.LocIPAddrType, rule.LocIPAddress);
  31.             
  32.             FWUserDlg( new Array(strRuleID));
  33.         }
  34.     }
  35.     else if ( isProVersion() ) // client x server db.
  36.     {
  37.         FWDlg( new Array(strRuleID, !isFWServerRuleID( strRuleID ), false) );
  38.     }
  39.     else // only server database
  40.     {
  41.         if ( isFWServerRuleID( strRuleID ) )
  42.         {
  43.             FWDlg( new Array(strRuleID, false, FW_isEasyRuleByID( strRuleID )) );
  44.         }
  45.     }
  46. }
  47.  
  48. function editFWRoutedRuleByID( strRuleID )
  49. {
  50.     var rule = FW_getRule( strRuleID, true, false);
  51.         
  52.     if ( !rule )
  53.     {
  54.         alert(getStr('','STR_EDIT_EVENT_DELETED'));
  55.         return;
  56.     }
  57.     
  58.     processMsgOKNotShow('event_edit_warning', getStr('','STR_EDIT_EVENT_WARNING'), getStr('','STR_EDIT_EVENT_NOT_SHOW_AGAIN'), getStr('','STR_EDIT_EVENT_WARNING_TITLE'));
  59.     
  60.     if ( isLDAPSupported() && (rule.Priority == PRIOR_HIGH))
  61.     {
  62.         if ( !isADIPAddress(rule.LANIPAddrType, rule.LANIPAddress) )
  63.             FWRoutedUserInDlg( new Array(strRuleID) );
  64.         else
  65.             FWRoutedUserOutDlg( new Array(strRuleID) );
  66.     }
  67.     else
  68.     {
  69.         FWRoutedDlg( new Array( strRuleID) ); // normal rule
  70.     }
  71. }
  72.  
  73.  
  74. function FWRoutedUserInDlg( arParams )
  75. {
  76.     return FWShowDialog(340, 510, '../firewall/fwn-vpn-user-in-routed-rule-edit.html', arParams);
  77. }
  78.  
  79. function FWRoutedUserOutDlg( arParams )
  80. {
  81.     return FWShowDialog(340, 510, '../firewall/fwn-vpn-user-out-routed-rule-edit.html', arParams);
  82. }
  83.  
  84. function FWRoutedDlg( arParams )
  85. {
  86.     return FWShowDialog(355, 510, '../firewall/fwn-vpn-routed-rule-edit.html', arParams );
  87. }
  88.  
  89. function FWUserDlg( arParams )
  90. {
  91.     //if ( arParams[1] )
  92.         return FWShowDialog(335, 510, '../firewall/fwn-vpn-normal-rule-user-in-edit.html', arParams );
  93. /*    else
  94.         return FWShowDialog(335, 510, '../firewall/fwn-vpn-normal-rule-user-out-edit.html', arParams );*/
  95. }
  96.  
  97. function FWDlg( arParams )
  98. {
  99.     return FWShowDialog(355, 510, '../firewall/fwn-normal-rule-edit.html', arParams );
  100. }
  101.  
  102. function FWShowDialog(iHeight, iWidth, strSrc, arInputParams )
  103. {
  104.     try
  105.     {
  106.         closeCurrentFloatMenu();
  107.     }
  108.     catch (e)
  109.     {
  110.     }
  111.     
  112.     var arParams = new Array();
  113.  
  114.     arParams[0] = external;
  115.     
  116.     if ( arInputParams )
  117.     {
  118.         for ( var i=0; i < arInputParams.length; i++ )
  119.             arParams.push( arInputParams[i] );
  120.     }
  121.     
  122.     var sFeatures="dialogHeight: " + iHeight + "px; dialogWidth: " + iWidth + "px; help:no; status:no; resizable:no; center:yes;";
  123.  
  124.     var arRetVal = window.showModalDialog( strSrc, arParams, sFeatures );
  125.  
  126.     return ( arRetVal && arRetVal[0] );
  127. }
  128.  
  129.  
  130. function isFWServerRuleID( strRuleID )
  131. {
  132.     return ( strRuleID.substr(0,2) == 'NS');
  133. }
  134.  
  135. function isADIPAddress( strAddressType, strAddress)
  136. {
  137.     var bADAddress = false;
  138.     
  139.     if ( strAddressType == RT_DEFINITION )
  140.         bADAddress = ( strAddress.search("RUser:") != -1 ) || ( strAddress.search("RGroup:") != -1 ) || ( strAddress.search("User:") != -1 ) || ( strAddress.search("Group:") != -1 );
  141.         
  142.     return bADAddress;
  143. }
  144.  
  145. function ICheck_showDialog( bRouted )
  146. {
  147.     var arParams = new Array();
  148.     
  149.     arParams[0] = external;
  150.     arParams[1] = window;
  151.     arParams[2] = bRouted; // routed rules?
  152.     
  153.     var sFeatures="dialogHeight: 150px; dialogWidth: 300px; help:no; status:no; resizable:no; center:yes;";
  154.     
  155.     try
  156.     {
  157.         var arPos = external.CfgRegValueString('fwn-integritycheck.position').split("|");
  158.         
  159.         if ( arPos && arPos.length == 2 && !isNaN(parseInt(arPos[0])) && !isNaN(parseInt(arPos[1])) )
  160.             sFeatures='dialogLeft: ' + parseInt(arPos[0]) + 'px; dialogTop: ' + parseInt(arPos[1]) + 'px;dialogHeight: 300px; dialogWidth: 300px; help:no; status:no; resizable:no; center:no;';
  161.     }
  162.     catch (e)
  163.     {
  164.     }
  165.     
  166.     return window.showModelessDialog( '../firewall/fwn-integritycheck.html', arParams, sFeatures );
  167. }
  168.